[T-SQL] 日期區間重疊


Posted by mike-hsieh on 2023-05-09

SQL find duplicate data between two date ranges

最基本的範例如下:

SELECT t1.id    --  取得PK
FROM t t1
LEFT JOIN t t2 ON t1.種類=t2.種類   --  種類相同。 可以加上其他條件,例如: 是否生效...
WHERE t1.id <> t2.id    --  自己不等於自己
    AND (
        (t1.起始時間 < t2.結束時間 AND t1.結束時間 > t2.起始時間) OR    --  A 跟 B 比較
        (t2.起始時間 < t1.結束時間 AND t2.結束時間 > t1.起始時間) OR    --  B 跟 A 比較
        (t1.起始時間 = t2.結束時間 AND t1.結束時間 = t2.起始時間)       --  A 跟 B 完全相同
    )

#data ranges #duplicate #between #日期區間 #重疊







Related Posts

學 JavaScript 的那些筆記 4--瀏覽器的 JS

學 JavaScript 的那些筆記 4--瀏覽器的 JS

W12_作業三簡答題記錄_之五

W12_作業三簡答題記錄_之五

[第九週] PHP 與 MySQL 的互動:新增資料

[第九週] PHP 與 MySQL 的互動:新增資料


Comments